home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / pluginy Firefox / 11255 / 11255.xpi / chrome / content / controller / Options.js < prev    next >
Text File  |  2009-12-17  |  4KB  |  124 lines

  1. /* ***** BEGIN LICENSE BLOCK *****
  2.  * 
  3.  * Pearltrees add-on AMO, Copyright(C), 2009, Broceliand SAS, Paris, France 
  4.  * (company in charge of developing Pearltrees)
  5.  * 
  6.  * This file is part of ΓÇ£Pearltrees add-on AMOΓÇ¥.  
  7.  * 
  8.  * Pearltrees add-on AMO is free software: you can redistribute it and/or modify it under the 
  9.  * terms of the GNU General Public License version 3 as published by the Free Software Foundation.
  10.  * 
  11.  * Pearltrees add-on AMO is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 
  12.  * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
  13.  * See the GNU General Public License for more details.
  14.  * 
  15.  * You should have received a copy of the GNU General Public License along with Pearltrees add-on AMO. 
  16.  * If not, see <http://www.gnu.org/licenses/>
  17.  * 
  18.  * ***** END LICENSE BLOCK ***** */
  19.  
  20. /////////////////////////////////////////////////////////////////////////////////
  21. // Option window actions
  22. //
  23. // Classes:
  24. //
  25. //    BRO_options
  26. //
  27. /////////////////////////////////////////////////////////////////////////////////
  28.  
  29. /////////////////////////////////////////////////////////////////////////////////
  30. // Buttons
  31. /////////////////////////////////////////////////////////////////////////////////
  32.  
  33. /**
  34.  * Save settings
  35.  * @param event
  36.  */
  37. function BRO_onAcceptOptions(event) {    
  38. }
  39. function BRO_onClickCustomize(event) {
  40.     var browserWindow = BRO_options.getBrowserWindow(); 
  41.     browserWindow.document.getElementById("cmd_CustomizeToolbars").doCommand();
  42. }
  43.  
  44. /**
  45.  * Load values
  46.  * @param event
  47.  */
  48. function BRO_onLoad(event) {
  49.     // Mac hack
  50.     document.documentElement.getButton("accept").hidden = false;
  51.     document.documentElement.getButton("accept").disabled = false;
  52.     document.documentElement.getButton("cancel").hidden = false;
  53.     document.documentElement.getButton("cancel").disabled = false;    
  54.     
  55.     // Set server URL
  56.     var serverDescription = document.getElementById('BRO_serverDescription');
  57.     serverDescription.value = BRO_PUBLIC_URL;
  58.  
  59.     // Set source
  60.     var sourceDescription = document.getElementById('BRO_sourceDescription');
  61.     if(BRO_ADDON_SOURCE == BRO_ADDON_SOURCE_AMO) {
  62.         sourceDescription.value = "AMO";    
  63.     }
  64.     else {
  65.         sourceDescription.value = "self hosted";
  66.     }
  67.     
  68.     // Set version
  69.     var gExtensionManager = Components.classes["@mozilla.org/extensions/manager;1"]
  70.                                       .getService(Components.interfaces.nsIExtensionManager);
  71.     var currentVersion = gExtensionManager.getItemForID(BRO_ADDON_ID).version;    
  72.     var versionDescription = document.getElementById('BRO_versionDescription');
  73.     versionDescription.value = currentVersion;  
  74.     
  75.     // Fetch status
  76.     document.getElementById('BRO_statusDescription').value = '...';
  77.     BRO_getStatus();
  78.     
  79.     var prefWindow = document.getElementById("BRO_prefs");
  80.     prefWindow.setAttribute('style','width:auto');
  81.     prefWindow.setAttribute('style','height:auto');
  82. }
  83.  
  84. function BRO_getStatus() {
  85.     BRO_model.getTreesAndCurrentUser(skipNotificationIfNotLogged = true);
  86. }
  87.  
  88. /////////////////////////////////////////////////////////////////////////////////
  89. // Actions performed when options is opened
  90. /////////////////////////////////////////////////////////////////////////////////
  91.  
  92. var BRO_options = {
  93.     
  94.     _mode:'option',
  95.     _browserWindow:null,
  96.     
  97.     getMode: function() {
  98.         return this._mode;
  99.     },
  100.     
  101.     init: function() {
  102.         
  103.         // We share some classes with the toolbar. Specialy model functionalities.
  104.         var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"]
  105.                  .getService(Components.interfaces.nsIWindowMediator);
  106.         this._browserWindow = wm.getMostRecentWindow("navigator:browser");
  107.         BRO_toolbar       = this._browserWindow.BRO_toolbar;
  108.         BRO_log           = this._browserWindow.BRO_log;
  109.         BRO_model         = this._browserWindow.BRO_model;
  110.         BRO_tools         = this._browserWindow.BRO_tools;
  111.         BRO_locale        = this._browserWindow.BRO_locale;
  112.         
  113.         BRO_onLoad();
  114.     },
  115.     
  116.     showError: function() {
  117.     },
  118.     
  119.     getBrowserWindow: function() {
  120.         return this._browserWindow;
  121.     }
  122. };
  123. BRO_options.init();
  124.